/*
 * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.jvm.compiler.fir;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.test.TargetBackend;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

import java.io.File;
import java.util.regex.Pattern;

/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestGeneratorForCompilerTestsKt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@RunWith(JUnit3RunnerWithInners.class)
public class FirPsiCompileJavaAgainstKotlinTestGenerated extends AbstractFirPsiCompileJavaAgainstKotlinTest {
  @TestMetadata("compiler/testData/compileJavaAgainstKotlin")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class WithoutJavac extends AbstractFirPsiCompileJavaAgainstKotlinTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
    }

    public void testAllFilesPresentInWithoutJavac() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/annotation")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Annotation extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInAnnotation() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/annotation"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("retention.kt")
      public void testRetention() {
        runTest("compiler/testData/compileJavaAgainstKotlin/annotation/retention.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/callableReference")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class CallableReference extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInCallableReference() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/callableReference"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("GenericSignature.kt")
      public void testGenericSignature() {
        runTest("compiler/testData/compileJavaAgainstKotlin/callableReference/GenericSignature.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/class")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Class extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInClass() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/class"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("ClassObject.kt")
      public void testClassObject() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/ClassObject.kt");
      }

      @TestMetadata("DefaultConstructor.kt")
      public void testDefaultConstructor() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/DefaultConstructor.kt");
      }

      @TestMetadata("DefaultConstructorWithTwoArgs.kt")
      public void testDefaultConstructorWithTwoArgs() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/DefaultConstructorWithTwoArgs.kt");
      }

      @TestMetadata("ExtendsAbstractListT.kt")
      public void testExtendsAbstractListT() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/ExtendsAbstractListT.kt");
      }

      @TestMetadata("ImplementsListString.kt")
      public void testImplementsListString() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/ImplementsListString.kt");
      }

      @TestMetadata("ImplementsMapPP.kt")
      public void testImplementsMapPP() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/ImplementsMapPP.kt");
      }

      @TestMetadata("InnerClass.kt")
      public void testInnerClass() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/InnerClass.kt");
      }

      @TestMetadata("InnerClassConstructors.kt")
      public void testInnerClassConstructors() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/InnerClassConstructors.kt");
      }

      @TestMetadata("InnerClassOfGeneric.kt")
      public void testInnerClassOfGeneric() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/InnerClassOfGeneric.kt");
      }

      @TestMetadata("kt3561.kt")
      public void testKt3561() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/kt3561.kt");
      }

      @TestMetadata("kt4050.kt")
      public void testKt4050() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/kt4050.kt");
      }

      @TestMetadata("MapImpl.kt")
      public void testMapImpl() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/MapImpl.kt");
      }

      @TestMetadata("Simple.kt")
      public void testSimple() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/Simple.kt");
      }

      @TestMetadata("StarProjection.kt")
      public void testStarProjection() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/StarProjection.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/enum")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Enum extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInEnum() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/enum"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("DefaultArgumentInEnumConstructor.kt")
      public void testDefaultArgumentInEnumConstructor() {
        runTest("compiler/testData/compileJavaAgainstKotlin/enum/DefaultArgumentInEnumConstructor.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/jvmStatic")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class JvmStatic extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInJvmStatic() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/jvmStatic"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("simpleCompanionObject.kt")
      public void testSimpleCompanionObject() {
        runTest("compiler/testData/compileJavaAgainstKotlin/jvmStatic/simpleCompanionObject.kt");
      }

      @TestMetadata("simpleCompanionObjectProperty.kt")
      public void testSimpleCompanionObjectProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/jvmStatic/simpleCompanionObjectProperty.kt");
      }

      @TestMetadata("simpleObject.kt")
      public void testSimpleObject() {
        runTest("compiler/testData/compileJavaAgainstKotlin/jvmStatic/simpleObject.kt");
      }

      @TestMetadata("simpleObjectProperty.kt")
      public void testSimpleObjectProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/jvmStatic/simpleObjectProperty.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Method extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      @TestMetadata("AccessorGenericSignature.kt")
      public void testAccessorGenericSignature() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/AccessorGenericSignature.kt");
      }

      public void testAllFilesPresentInMethod() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("Any.kt")
      public void testAny() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Any.kt");
      }

      @TestMetadata("ArrayOfIntArray.kt")
      public void testArrayOfIntArray() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ArrayOfIntArray.kt");
      }

      @TestMetadata("ArrayOfIntegerArray.kt")
      public void testArrayOfIntegerArray() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ArrayOfIntegerArray.kt");
      }

      @TestMetadata("ClashingSignaturesWithoutReturnType.kt")
      public void testClashingSignaturesWithoutReturnType() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ClashingSignaturesWithoutReturnType.kt");
      }

      @TestMetadata("Delegation.kt")
      public void testDelegation() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Delegation.kt");
      }

      @TestMetadata("Extensions.kt")
      public void testExtensions() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Extensions.kt");
      }

      @TestMetadata("GenericArray.kt")
      public void testGenericArray() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/GenericArray.kt");
      }

      @TestMetadata("Hello.kt")
      public void testHello() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Hello.kt");
      }

      @TestMetadata("Int.kt")
      public void testInt() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Int.kt");
      }

      @TestMetadata("IntArray.kt")
      public void testIntArray() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/IntArray.kt");
      }

      @TestMetadata("IntWithDefault.kt")
      public void testIntWithDefault() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/IntWithDefault.kt");
      }

      @TestMetadata("IntegerArray.kt")
      public void testIntegerArray() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/IntegerArray.kt");
      }

      @TestMetadata("ListOfInt.kt")
      public void testListOfInt() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ListOfInt.kt");
      }

      @TestMetadata("ListOfString.kt")
      public void testListOfString() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ListOfString.kt");
      }

      @TestMetadata("ListOfT.kt")
      public void testListOfT() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ListOfT.kt");
      }

      @TestMetadata("MapOfKString.kt")
      public void testMapOfKString() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/MapOfKString.kt");
      }

      @TestMetadata("MapOfStringIntQ.kt")
      public void testMapOfStringIntQ() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/MapOfStringIntQ.kt");
      }

      @TestMetadata("QExtendsListString.kt")
      public void testQExtendsListString() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/QExtendsListString.kt");
      }

      @TestMetadata("QExtendsString.kt")
      public void testQExtendsString() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/QExtendsString.kt");
      }

      @TestMetadata("TraitImpl.kt")
      public void testTraitImpl() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/TraitImpl.kt");
      }

      @TestMetadata("TypeParamInInner.kt")
      public void testTypeParamInInner() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/TypeParamInInner.kt");
      }

      @TestMetadata("TypeParamInInner2.kt")
      public void testTypeParamInInner2() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/TypeParamInInner2.kt");
      }

      @TestMetadata("Vararg.kt")
      public void testVararg() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Vararg.kt");
      }

      @TestMetadata("Void.kt")
      public void testVoid() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Void.kt");
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method/contextualFunctions")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ContextualFunctions extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInContextualFunctions() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method/contextualFunctions"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("Signature.kt")
        public void testSignature() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/contextualFunctions/Signature.kt");
        }
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method/platformName")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PlatformName extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPlatformName() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method/platformName"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("PlatformName.kt")
        public void testPlatformName() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/platformName/PlatformName.kt");
        }
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PrimitiveOverride extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPrimitiveOverride() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("ByteOverridesObject.kt")
        public void testByteOverridesObject() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/ByteOverridesObject.kt");
        }

        @TestMetadata("CallFinalNotInSubclass.kt")
        public void testCallFinalNotInSubclass() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/CallFinalNotInSubclass.kt");
        }

        @TestMetadata("CallNotInSubclass.kt")
        public void testCallNotInSubclass() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/CallNotInSubclass.kt");
        }

        @TestMetadata("CovariantReturnTypeOverride.kt")
        public void testCovariantReturnTypeOverride() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/CovariantReturnTypeOverride.kt");
        }

        @TestMetadata("FinalOverride.kt")
        public void testFinalOverride() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/FinalOverride.kt");
        }

        @TestMetadata("IntOverridesComparable.kt")
        public void testIntOverridesComparable() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/IntOverridesComparable.kt");
        }

        @TestMetadata("IntOverridesNumber.kt")
        public void testIntOverridesNumber() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/IntOverridesNumber.kt");
        }

        @TestMetadata("IntOverridesObject.kt")
        public void testIntOverridesObject() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/IntOverridesObject.kt");
        }

        @TestMetadata("ManyClassesHierarchy.kt")
        public void testManyClassesHierarchy() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/ManyClassesHierarchy.kt");
        }

        @TestMetadata("NullableIntOverridesObject.kt")
        public void testNullableIntOverridesObject() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/NullableIntOverridesObject.kt");
        }

        @TestMetadata("OverrideInJava.kt")
        public void testOverrideInJava() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/OverrideInJava.kt");
        }
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverrideWithInlineClass")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PrimitiveOverrideWithInlineClass extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPrimitiveOverrideWithInlineClass() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverrideWithInlineClass"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("InlineIntOverridesObject.kt")
        public void testInlineIntOverridesObject() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverrideWithInlineClass/InlineIntOverridesObject.kt");
        }
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method/throws")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class Throws extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInThrows() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method/throws"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("ClassMembers.kt")
        public void testClassMembers() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/ClassMembers.kt");
        }

        @TestMetadata("Constructor.kt")
        public void testConstructor() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/Constructor.kt");
        }

        @TestMetadata("DefaultArgs.kt")
        public void testDefaultArgs() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/DefaultArgs.kt");
        }

        @TestMetadata("Delegation.kt")
        public void testDelegation() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/Delegation.kt");
        }

        @TestMetadata("GenericSubstitution.kt")
        public void testGenericSubstitution() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/GenericSubstitution.kt");
        }

        @TestMetadata("KotlinThrows.kt")
        public void testKotlinThrows() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/KotlinThrows.kt");
        }

        @TestMetadata("TopLevel.kt")
        public void testTopLevel() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/TopLevel.kt");
        }

        @TestMetadata("TraitMembers.kt")
        public void testTraitMembers() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/TraitMembers.kt");
        }
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/property")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Property extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInProperty() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/property"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("ConstVal.kt")
      public void testConstVal() {
        runTest("compiler/testData/compileJavaAgainstKotlin/property/ConstVal.kt");
      }

      @TestMetadata("Extensions.kt")
      public void testExtensions() {
        runTest("compiler/testData/compileJavaAgainstKotlin/property/Extensions.kt");
      }

      @TestMetadata("GenericProperty.kt")
      public void testGenericProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/property/GenericProperty.kt");
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/property/platformName")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PlatformName extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPlatformName() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/property/platformName"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("PlatformName.kt")
        public void testPlatformName() {
          runTest("compiler/testData/compileJavaAgainstKotlin/property/platformName/PlatformName.kt");
        }
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/sealed")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Sealed extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInSealed() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/sealed"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("Derived.kt")
      public void testDerived() {
        runTest("compiler/testData/compileJavaAgainstKotlin/sealed/Derived.kt");
      }

      @TestMetadata("Instance.kt")
      public void testInstance() {
        runTest("compiler/testData/compileJavaAgainstKotlin/sealed/Instance.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/staticFields")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class StaticFields extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInStaticFields() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/staticFields"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("AnnotationClass.kt")
      public void testAnnotationClass() {
        runTest("compiler/testData/compileJavaAgainstKotlin/staticFields/AnnotationClass.kt");
      }

      @TestMetadata("AnnotationTrait.kt")
      public void testAnnotationTrait() {
        runTest("compiler/testData/compileJavaAgainstKotlin/staticFields/AnnotationTrait.kt");
      }

      @TestMetadata("kt3698.kt")
      public void testKt3698() {
        runTest("compiler/testData/compileJavaAgainstKotlin/staticFields/kt3698.kt");
      }

      @TestMetadata("staticClassProperty.kt")
      public void testStaticClassProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/staticFields/staticClassProperty.kt");
      }

      @TestMetadata("staticTraitProperty.kt")
      public void testStaticTraitProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/staticFields/staticTraitProperty.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/targets")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Targets extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithoutJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInTargets() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/targets"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("annotation.kt")
      public void testAnnotation() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/annotation.kt");
      }

      @TestMetadata("base.kt")
      public void testBase() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/base.kt");
      }

      @TestMetadata("classifier.kt")
      public void testClassifier() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/classifier.kt");
      }

      @TestMetadata("constructor.kt")
      public void testConstructor() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/constructor.kt");
      }

      @TestMetadata("empty.kt")
      public void testEmpty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/empty.kt");
      }

      @TestMetadata("field.kt")
      public void testField() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/field.kt");
      }

      @TestMetadata("function.kt")
      public void testFunction() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/function.kt");
      }

      @TestMetadata("getter.kt")
      public void testGetter() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/getter.kt");
      }

      @TestMetadata("local.kt")
      public void testLocal() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/local.kt");
      }

      @TestMetadata("multiple.kt")
      public void testMultiple() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/multiple.kt");
      }

      @TestMetadata("parameter.kt")
      public void testParameter() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/parameter.kt");
      }

      @TestMetadata("property.kt")
      public void testProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/property.kt");
      }

      @TestMetadata("setter.kt")
      public void testSetter() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/setter.kt");
      }

      @TestMetadata("setterVisability.kt")
      public void testSetterVisability() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/setterVisability.kt");
      }
    }
  }

  @TestMetadata("compiler/testData/compileJavaAgainstKotlin")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class WithJavac extends AbstractFirPsiCompileJavaAgainstKotlinTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
    }

    public void testAllFilesPresentInWithJavac() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/annotation")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Annotation extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInAnnotation() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/annotation"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("retention.kt")
      public void testRetention() {
        runTest("compiler/testData/compileJavaAgainstKotlin/annotation/retention.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/callableReference")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class CallableReference extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInCallableReference() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/callableReference"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("GenericSignature.kt")
      public void testGenericSignature() {
        runTest("compiler/testData/compileJavaAgainstKotlin/callableReference/GenericSignature.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/class")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Class extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInClass() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/class"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("ClassObject.kt")
      public void testClassObject() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/ClassObject.kt");
      }

      @TestMetadata("DefaultConstructor.kt")
      public void testDefaultConstructor() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/DefaultConstructor.kt");
      }

      @TestMetadata("DefaultConstructorWithTwoArgs.kt")
      public void testDefaultConstructorWithTwoArgs() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/DefaultConstructorWithTwoArgs.kt");
      }

      @TestMetadata("ExtendsAbstractListT.kt")
      public void testExtendsAbstractListT() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/ExtendsAbstractListT.kt");
      }

      @TestMetadata("ImplementsListString.kt")
      public void testImplementsListString() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/ImplementsListString.kt");
      }

      @TestMetadata("ImplementsMapPP.kt")
      public void testImplementsMapPP() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/ImplementsMapPP.kt");
      }

      @TestMetadata("InnerClass.kt")
      public void testInnerClass() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/InnerClass.kt");
      }

      @TestMetadata("InnerClassConstructors.kt")
      public void testInnerClassConstructors() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/InnerClassConstructors.kt");
      }

      @TestMetadata("InnerClassOfGeneric.kt")
      public void testInnerClassOfGeneric() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/InnerClassOfGeneric.kt");
      }

      @TestMetadata("kt3561.kt")
      public void testKt3561() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/kt3561.kt");
      }

      @TestMetadata("kt4050.kt")
      public void testKt4050() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/kt4050.kt");
      }

      @TestMetadata("MapImpl.kt")
      public void testMapImpl() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/MapImpl.kt");
      }

      @TestMetadata("Simple.kt")
      public void testSimple() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/Simple.kt");
      }

      @TestMetadata("StarProjection.kt")
      public void testStarProjection() {
        runTest("compiler/testData/compileJavaAgainstKotlin/class/StarProjection.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/enum")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Enum extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInEnum() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/enum"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("DefaultArgumentInEnumConstructor.kt")
      public void testDefaultArgumentInEnumConstructor() {
        runTest("compiler/testData/compileJavaAgainstKotlin/enum/DefaultArgumentInEnumConstructor.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/jvmStatic")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class JvmStatic extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInJvmStatic() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/jvmStatic"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("simpleCompanionObject.kt")
      public void testSimpleCompanionObject() {
        runTest("compiler/testData/compileJavaAgainstKotlin/jvmStatic/simpleCompanionObject.kt");
      }

      @TestMetadata("simpleCompanionObjectProperty.kt")
      public void testSimpleCompanionObjectProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/jvmStatic/simpleCompanionObjectProperty.kt");
      }

      @TestMetadata("simpleObject.kt")
      public void testSimpleObject() {
        runTest("compiler/testData/compileJavaAgainstKotlin/jvmStatic/simpleObject.kt");
      }

      @TestMetadata("simpleObjectProperty.kt")
      public void testSimpleObjectProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/jvmStatic/simpleObjectProperty.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Method extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      @TestMetadata("AccessorGenericSignature.kt")
      public void testAccessorGenericSignature() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/AccessorGenericSignature.kt");
      }

      public void testAllFilesPresentInMethod() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("Any.kt")
      public void testAny() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Any.kt");
      }

      @TestMetadata("ArrayOfIntArray.kt")
      public void testArrayOfIntArray() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ArrayOfIntArray.kt");
      }

      @TestMetadata("ArrayOfIntegerArray.kt")
      public void testArrayOfIntegerArray() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ArrayOfIntegerArray.kt");
      }

      @TestMetadata("ClashingSignaturesWithoutReturnType.kt")
      public void testClashingSignaturesWithoutReturnType() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ClashingSignaturesWithoutReturnType.kt");
      }

      @TestMetadata("Delegation.kt")
      public void testDelegation() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Delegation.kt");
      }

      @TestMetadata("Extensions.kt")
      public void testExtensions() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Extensions.kt");
      }

      @TestMetadata("GenericArray.kt")
      public void testGenericArray() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/GenericArray.kt");
      }

      @TestMetadata("Hello.kt")
      public void testHello() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Hello.kt");
      }

      @TestMetadata("Int.kt")
      public void testInt() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Int.kt");
      }

      @TestMetadata("IntArray.kt")
      public void testIntArray() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/IntArray.kt");
      }

      @TestMetadata("IntWithDefault.kt")
      public void testIntWithDefault() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/IntWithDefault.kt");
      }

      @TestMetadata("IntegerArray.kt")
      public void testIntegerArray() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/IntegerArray.kt");
      }

      @TestMetadata("ListOfInt.kt")
      public void testListOfInt() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ListOfInt.kt");
      }

      @TestMetadata("ListOfString.kt")
      public void testListOfString() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ListOfString.kt");
      }

      @TestMetadata("ListOfT.kt")
      public void testListOfT() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/ListOfT.kt");
      }

      @TestMetadata("MapOfKString.kt")
      public void testMapOfKString() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/MapOfKString.kt");
      }

      @TestMetadata("MapOfStringIntQ.kt")
      public void testMapOfStringIntQ() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/MapOfStringIntQ.kt");
      }

      @TestMetadata("QExtendsListString.kt")
      public void testQExtendsListString() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/QExtendsListString.kt");
      }

      @TestMetadata("QExtendsString.kt")
      public void testQExtendsString() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/QExtendsString.kt");
      }

      @TestMetadata("TraitImpl.kt")
      public void testTraitImpl() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/TraitImpl.kt");
      }

      @TestMetadata("TypeParamInInner.kt")
      public void testTypeParamInInner() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/TypeParamInInner.kt");
      }

      @TestMetadata("TypeParamInInner2.kt")
      public void testTypeParamInInner2() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/TypeParamInInner2.kt");
      }

      @TestMetadata("Vararg.kt")
      public void testVararg() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Vararg.kt");
      }

      @TestMetadata("Void.kt")
      public void testVoid() {
        runTest("compiler/testData/compileJavaAgainstKotlin/method/Void.kt");
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method/contextualFunctions")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ContextualFunctions extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInContextualFunctions() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method/contextualFunctions"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("Signature.kt")
        public void testSignature() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/contextualFunctions/Signature.kt");
        }
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method/platformName")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PlatformName extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPlatformName() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method/platformName"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("PlatformName.kt")
        public void testPlatformName() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/platformName/PlatformName.kt");
        }
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PrimitiveOverride extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPrimitiveOverride() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("ByteOverridesObject.kt")
        public void testByteOverridesObject() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/ByteOverridesObject.kt");
        }

        @TestMetadata("CallFinalNotInSubclass.kt")
        public void testCallFinalNotInSubclass() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/CallFinalNotInSubclass.kt");
        }

        @TestMetadata("CallNotInSubclass.kt")
        public void testCallNotInSubclass() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/CallNotInSubclass.kt");
        }

        @TestMetadata("CovariantReturnTypeOverride.kt")
        public void testCovariantReturnTypeOverride() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/CovariantReturnTypeOverride.kt");
        }

        @TestMetadata("FinalOverride.kt")
        public void testFinalOverride() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/FinalOverride.kt");
        }

        @TestMetadata("IntOverridesComparable.kt")
        public void testIntOverridesComparable() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/IntOverridesComparable.kt");
        }

        @TestMetadata("IntOverridesNumber.kt")
        public void testIntOverridesNumber() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/IntOverridesNumber.kt");
        }

        @TestMetadata("IntOverridesObject.kt")
        public void testIntOverridesObject() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/IntOverridesObject.kt");
        }

        @TestMetadata("ManyClassesHierarchy.kt")
        public void testManyClassesHierarchy() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/ManyClassesHierarchy.kt");
        }

        @TestMetadata("NullableIntOverridesObject.kt")
        public void testNullableIntOverridesObject() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/NullableIntOverridesObject.kt");
        }

        @TestMetadata("OverrideInJava.kt")
        public void testOverrideInJava() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverride/OverrideInJava.kt");
        }
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverrideWithInlineClass")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PrimitiveOverrideWithInlineClass extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPrimitiveOverrideWithInlineClass() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverrideWithInlineClass"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("InlineIntOverridesObject.kt")
        public void testInlineIntOverridesObject() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/primitiveOverrideWithInlineClass/InlineIntOverridesObject.kt");
        }
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/method/throws")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class Throws extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInThrows() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/method/throws"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("ClassMembers.kt")
        public void testClassMembers() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/ClassMembers.kt");
        }

        @TestMetadata("Constructor.kt")
        public void testConstructor() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/Constructor.kt");
        }

        @TestMetadata("DefaultArgs.kt")
        public void testDefaultArgs() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/DefaultArgs.kt");
        }

        @TestMetadata("Delegation.kt")
        public void testDelegation() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/Delegation.kt");
        }

        @TestMetadata("GenericSubstitution.kt")
        public void testGenericSubstitution() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/GenericSubstitution.kt");
        }

        @TestMetadata("KotlinThrows.kt")
        public void testKotlinThrows() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/KotlinThrows.kt");
        }

        @TestMetadata("TopLevel.kt")
        public void testTopLevel() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/TopLevel.kt");
        }

        @TestMetadata("TraitMembers.kt")
        public void testTraitMembers() {
          runTest("compiler/testData/compileJavaAgainstKotlin/method/throws/TraitMembers.kt");
        }
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/property")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Property extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInProperty() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/property"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("ConstVal.kt")
      public void testConstVal() {
        runTest("compiler/testData/compileJavaAgainstKotlin/property/ConstVal.kt");
      }

      @TestMetadata("Extensions.kt")
      public void testExtensions() {
        runTest("compiler/testData/compileJavaAgainstKotlin/property/Extensions.kt");
      }

      @TestMetadata("GenericProperty.kt")
      public void testGenericProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/property/GenericProperty.kt");
      }

      @TestMetadata("compiler/testData/compileJavaAgainstKotlin/property/platformName")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PlatformName extends AbstractFirPsiCompileJavaAgainstKotlinTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPlatformName() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/property/platformName"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @TestMetadata("PlatformName.kt")
        public void testPlatformName() {
          runTest("compiler/testData/compileJavaAgainstKotlin/property/platformName/PlatformName.kt");
        }
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/sealed")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Sealed extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInSealed() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/sealed"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("Derived.kt")
      public void testDerived() {
        runTest("compiler/testData/compileJavaAgainstKotlin/sealed/Derived.kt");
      }

      @TestMetadata("Instance.kt")
      public void testInstance() {
        runTest("compiler/testData/compileJavaAgainstKotlin/sealed/Instance.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/staticFields")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class StaticFields extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInStaticFields() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/staticFields"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("AnnotationClass.kt")
      public void testAnnotationClass() {
        runTest("compiler/testData/compileJavaAgainstKotlin/staticFields/AnnotationClass.kt");
      }

      @TestMetadata("AnnotationTrait.kt")
      public void testAnnotationTrait() {
        runTest("compiler/testData/compileJavaAgainstKotlin/staticFields/AnnotationTrait.kt");
      }

      @TestMetadata("kt3698.kt")
      public void testKt3698() {
        runTest("compiler/testData/compileJavaAgainstKotlin/staticFields/kt3698.kt");
      }

      @TestMetadata("staticClassProperty.kt")
      public void testStaticClassProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/staticFields/staticClassProperty.kt");
      }

      @TestMetadata("staticTraitProperty.kt")
      public void testStaticTraitProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/staticFields/staticTraitProperty.kt");
      }
    }

    @TestMetadata("compiler/testData/compileJavaAgainstKotlin/targets")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Targets extends AbstractFirPsiCompileJavaAgainstKotlinTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTestWithJavac, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInTargets() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/compileJavaAgainstKotlin/targets"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @TestMetadata("annotation.kt")
      public void testAnnotation() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/annotation.kt");
      }

      @TestMetadata("base.kt")
      public void testBase() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/base.kt");
      }

      @TestMetadata("classifier.kt")
      public void testClassifier() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/classifier.kt");
      }

      @TestMetadata("constructor.kt")
      public void testConstructor() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/constructor.kt");
      }

      @TestMetadata("empty.kt")
      public void testEmpty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/empty.kt");
      }

      @TestMetadata("field.kt")
      public void testField() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/field.kt");
      }

      @TestMetadata("function.kt")
      public void testFunction() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/function.kt");
      }

      @TestMetadata("getter.kt")
      public void testGetter() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/getter.kt");
      }

      @TestMetadata("local.kt")
      public void testLocal() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/local.kt");
      }

      @TestMetadata("multiple.kt")
      public void testMultiple() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/multiple.kt");
      }

      @TestMetadata("parameter.kt")
      public void testParameter() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/parameter.kt");
      }

      @TestMetadata("property.kt")
      public void testProperty() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/property.kt");
      }

      @TestMetadata("setter.kt")
      public void testSetter() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/setter.kt");
      }

      @TestMetadata("setterVisability.kt")
      public void testSetterVisability() {
        runTest("compiler/testData/compileJavaAgainstKotlin/targets/setterVisability.kt");
      }
    }
  }
}
